#ifndef _SPIT_PARAM_H
#define _SPIT_PARAM_H

typedef struct _pos_spit
{
    int column_x;
    int row_y;
    int index; 
    int volume;

    struct  _pos_spit * next; 
}pos_spit;


typedef struct _pos_one_type
{
    int posType;
    int num;
    int remainVolume;
    int tipType;

    pos_spit * posListHead;
    
    pos_spit * posListTail;

    struct _pos_one_type * next;

}pos_one_type;

typedef struct _pos_type_list
{
    pos_one_type * listHead;
    pos_one_type * listTail;
}pos_type_list;

pos_one_type * findPosType(pos_type_list * listIn,int posTypeIn);
int divideSpitPos(const void * paramIn,int paramTypeIn,pos_type_list * paramListOut,int *totalSpitVolume);


void printDivideResult(pos_type_list * listIn);

void clearSpitParamList(pos_type_list * listIn);

pos_spit * findSpitPos(pos_one_type * spitPosOneType, const pos_spit * posSpitIn);


typedef struct _param_suck1_spitm
{
    void * stSuckParam;
    pos_one_type * pSpitMOnce;
}param_suck1_spitm;

void encodeSuck1SpitMData(int moduleGrpcIn, const void * pSuckParam, const void * pSpitParam,
void * dataOut, int *lenOut);
#endif